﻿#include "TradeDetail.h"

void TD::InitOrder(Order &outOrder)
{
	outOrder.EnterData.OrderStrategy = -1;
	outOrder.EnterData.StrategyValue = -1.0;
	outOrder.EnterData.StrategyUTM = 0;
	outOrder.EnterData.RealValue = -1.0;
	outOrder.EnterData.RealUTM = 0;

	outOrder.ExitData = outOrder.EnterData;

	outOrder.StopEnterValue = -1.0;
}

bool TD::IsLossOrder(bool isLong, const Order &pOrder)
{
	// 还没有入场
	if (pOrder.EnterData.StrategyValue <= 0)
	{
		return false;
	}
	// 还没有出场
	if (pOrder.ExitData.StrategyValue <= 0)
	{
		return false;
	}
	if (isLong)
	{
		if (pOrder.ExitData.StrategyValue <= pOrder.EnterData.StrategyValue)
		{
			return true;
		}
	}
	else
	{
		if (pOrder.ExitData.StrategyValue >= pOrder.EnterData.StrategyValue)
		{
			return true;
		}
	}
	return false;
}


TD::OrderOption::OrderOption()
{
	Volumn = 0;
	TickCount = 0;
	LastPrice = 0.0f;
}
